#ifndef __CVideoDriver_H__
#define __CVideoDriver_H__
#include "iostream"
#include "../Utilities/utilities.h"
#include "Defines.h"
using namespace std;
class CVideoDriver{
public: 
	
	virtual ~CVideoDriver();
	void SetFBO(int index);
	void StopFBO();
	static CVideoDriver* GetInstance();
	static void DestroyInstance();
	void DrawNomal(GLuint colorBuffer);
	void Drawblur(GLuint colorBuffer);
	void DrawBlackWhite(GLuint colorBuffer);
	void DrawBloom(GLuint colorBuffer);
	void DrawBloompro(GLuint colorBuffer);


	GLuint getiFBOProgram()const;
	GLuint *getiFBOColor()
	{
		return m_iFBOColor;
	}
protected: 
	GLuint m_iFBOProgram;
	GLuint *m_iFBOColor;
	GLuint *m_iFBODepth;
	static CVideoDriver* s_Instance;
	
	CVideoDriver();
};
#endif 